package com.cat.recruit.service;

import com.cat.recruit.bean.dto.AccessDTO;
import com.cat.recruit.bean.dto.AppointmentSlotDTO;
import com.cat.recruit.bean.dto.UserDTO;
import com.cat.recruit.entity.Access;
import com.cat.recruit.entity.User;
import org.springframework.cache.annotation.Cacheable;

/**
 * 用于定义通用业务逻辑
 * 也可以用于缓存
 */
public interface CommonService {
    /**
     * 根据用户id获取用户信息
     * @param userId 用户id
     * @return 用户信息
     */
    User getUserByUserId(Integer userId);

    /**
     * 根据用户id获取用户信息dto
     * @param userId 用户id
     * @return 用户信息dto
     */
    UserDTO getUserDtoByUserId(Integer userId);

    /**
     * 根据预约id获取预约信息dto
     * @param id 预约id
     * @return 预约信息dto
     */
    AppointmentSlotDTO getAppointmentSlotDtoById(Integer id);

    /**
     * 生成AccessDTO
     */
    AccessDTO  getAccessDto(Access access);
}
